{% extends "base.html" %} {% block title %}Federação{% endblock %} {% block heading %}Federação entre provedores{% endblock %} {% block content %} {% set fed_ok = modulo_liberado('federacao') %} {% if not fed_ok %}
Módulo em modo demonstração. A federação entre provedores depende de contrato ativo: {{ licenca.motivo }}
As telas continuam visíveis para consulta, mas publicar listas, cadastrar parceiros e sincronizar estão desativados. Fale com {{ dev_name }} ({{ dev_email }}) informando o CNPJ {{ licenca.cnpj or 'não informado' }}, e confira Configurações → Licenciamento.
{% endif %}

Como a federação funciona

A federação replica o modelo do AnaBlock, mas entre instalações do próprio DNS Shield ISP. Cada servidor pode atuar em dois papéis, de forma independente:

Garantias: bloqueios cadastrados manualmente nunca são apagados pela federação; domínios em “Domínios liberados / Exceções” continuam com prioridade absoluta (passthrough); e cada parceiro tem origem própria, então remover um parceiro remove apenas o que veio dele.

1. Publicar minhas listas (ser fonte)

Ao habilitar sem token existente, um token seguro é gerado automaticamente.

2. Consumir listas dos parceiros

O cron roda a cada 15 min e respeita este intervalo.

Recomendado deixar desmarcado: um parceiro fora do ar por engano não derruba bloqueios que você já aplicou.

Credenciais para entregar ao parceiro

URL: http://{{ cfg.sinkhole_ip }}:8080/api/federacao/listas
Token: {{ pub.token_publicacao or 'não gerado' }}

Exponha a porta 8080 apenas para os IPs dos parceiros no seu firewall. Trocar o token invalida o acesso de quem ainda usa o antigo.

Provedores parceiros ({{ peers|length }})

Última sincronização geral: {{ pub.ultima_sincronizacao or 'nunca' }} (UTC) · {{ pub.ultimo_status or 'sem execuções registradas' }}

{% if peers %} {% for peer in peers %} {% endfor %}
ParceiroURLEstadoÚltima sinc.Status
{{ peer.nome }} {{ peer.url }} {{ 'habilitado' if peer.enabled else 'pausado' }} {% if peer.importar_liberacoes %}liberações{% endif %} {{ peer.ultima_sincronizacao or '—' }} {{ peer.ultimo_status or '—' }}
{% else %}

Nenhum provedor parceiro cadastrado.

{% endif %}

Cadastrar provedor parceiro

Peça ao parceiro a URL e o token exibidos na tela “Federação” da instalação dele.

{% endblock %}